<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- super
        关键字用于访问和调用 父类上的函数，可以调用父类的构造函数 也可以调用父类的普通函数    -->
</body>
</html>
<script>
    class Father {
        constructor (surname){
            this.surname = surname
        }

        say(){
            console.log("你的名字" + this.surname)  //你的名字锤子
        }
    }

    //在这里 子继承父类
    class Son extends Father {
        constructor(surname,name){
            super(surname)
            this.name = name 
        }
        say(){
            super.say()
            console.log('调用普通' + this.name)    //调用普通铁的
        }
    }
    var son = new Son('锤子',"铁的")  
    son.say()
    console.log(son)   //打印  {surname: "锤子", name: "铁的"
          
    //在子类的构造函数如果使用 super 调用父类的构造函数 必须写在 this之前  
    //还可以 调用父类的普通方法 
    //在es6中 类没变量提升 必须先定义 才能通过实例化对象类里面的 共有属性 和方法 通过this 调用
    //类 里面的this 代表什么
    //constructor 里面this指向实例对象  
    // 方法里面this 代表 方法的 调用者


</script>